Skip to main content

Español

Instalar paquetes de Julia

Requisitos para instalar paquetes

Requerimientos para instalar paquetes en red (debe tener acceso a Internet)

  • Conectarse a login0 de MareNostrum4:

    mylaptop$> ssh {username}@mn0.bsc.es
    IMPORTANTE

    El login0 de MareNostrum4 está restringido al personal del BSC y sólo es accesible desde la red interna del BSC o la Red Privada Virtual (VPN).

  • Comprobar la conectividad a Internet desde login0:

    $> wget --tries=3 --timeout=5 -q --spider google.com && echo "Networked" || echo "Non-networked"
    Networked

Comprobar el gestor de paquetes 'Pkg'

Pkg es el gestor de paquetes integrado de Julia que maneja operaciones como la instalación, actualización y eliminación de paquetes.

  • Cargar Julia en la sesión, por ejemplo:

    $> module load julia/1.4.2
  • Asegúrese de que puede ejecutar Julia desde la línea de comandos:

    $> which julia
    /apps/JULIA/1.4.2/bin/julia
    $> julia --version
    julia version 1.4.2
  • Acceder al REPL (read-eval-print loop) de línea de comandos interactivo con todas las funciones integradas:

    1. Abir un terminal de Julia, ejecutando el comando "julia"
    2. Teclear "]"
  • Mostrar ayuda del REPL:

    (v1.4) pkg> help

    O:

    (v1.4) pkg> ?

Instalar y gestionar paquetes

Instalar paquetes

  • Instalar un paquete (junto con todas sus dependencias):

    (v1.4) pkg> add SomePackage         # Última versión
    (v1.4) pkg> add SomePackage@0.4 # Versión específica
    (v1.4) pkg> add SomePackage#master # Versión no registrada
  • Instalar varios paquetes a la vez:

    (v1.4) pkg> add A B C D
  • Instalar un paquete especificando la URL o ruta local a un repositorio de git:

    (v1.4) pkg> add https://github.com/SomeProject/SomeProject.jl

Actualizar/recompilar/precompilar paquetes

  • Actualizar uno o varios paquetes:

    (v1.4) pkg> update SomePackage
    (v1.4) pkg> up SomePackage
    (v1.4) pkg> up A B C D
    (v1.4) pkg> update # Todos los paquetes
  • Recompilar un paquete específico (junto con todas sus dependencias recursivamente):

    (v1.4) pkg> build SomePackage
    OBSERVACIÓN

    Tenga en cuenta que el paso de compilación se ejecuta automáticamente cuando se instala un paquete por primera vez.

  • Precompilar un proyecto (tal vez también desee actualizar previamente todas las dependencias del proyecto):

    (julia) pkg> update; precompile
  • "Anclar" un paquete:

    (v1.4) pkg> pin SomePackage
    OBSERVACIÓN

    Un paquete anclado nunca se actualizará, mostrándose en la pila con el símbolo de una 'chincheta' o 'alfiler'.

  • "Desanclar" un paquete:

    (v1.4) pkg> free SomePackage

Desinstalar paquetes

  • Desinstalar uno o varios paquetes:

    (v1.4) pkg> remove SomePackage
    (v1.4) pkg> rm SomePackage
    (v1.4) pkg> rm A B C D
  • Desinstalar un paquete que sólo existe como dependencia:

    (v1.4) pkg> rm --manifest SomePackage
    ATENCIÓN

    Esta acción eliminará también todas las dependencias del paquete en cuestión.

Deshacer/rehacer cambios durante una sesión

  • Deshacer el último cambio en el proyecto actual:

    (julia) pkg> undo
    ATENCIÓN

    Sólo se almacenan los estados de la sesión actual, hasta un máximo de 50 estados

  • Deshacer los últimos cambios desde la última operación undo que hayamos hecho:

    (julia) pkg> redo

Trabajar con entornos

Por defecto, Julia establece '~/.julia' como directorio base del proyecto activo inicial, donde se alojarán los paquetes y los ficheros de configuración del proyecto.

  • Cambiar ubicación por defecto del proyecto activo inicial

    $> export JULIA_PROJECT=/path/to/some/julia/project
    $> julia

    O:

    $> julia --project=/path/to/some/julia/project

En Julia es fácil trabajar con proyectos independientes mediante el uso de entornos. Por otro lado, cuando dos proyectos utilizan un mismo paquete en la misma versión, el contenido de este paquete no se duplica.

  • Consultar información del entorno activo:

    (v1.4) pkg> st [ --project ]    # Contiene los paquetes agregados por ti mismo
    (v1.4) pkg> st --manifest # Muestra todos los paquetes en el entorno, incluidas las dependencias recursivas
  • Crear un nuevo entorno o cambiar a otro ya existente:

    (v1.4) pkg> activate /path/to/NewProject
    Activating new environment at `/path/to/NewProject/Project.toml`

    (v1.4) pkg> activate /path/to/ExistingProject
    Activating environment at `/path/to/ExistingProject/Project.toml`
  • Otro tipo de cosas que podemos hacer "en caliente" es lo siguiente:

    julia> mkdir("MyProject")       # En modo 'julia'

    julia> cd("MyProject") # En modo 'julia'

    (v1.4) pkg> activate . # En modo 'pkg'

    (MyProject) pkg> st # Note that the REPL prompt changed
    Status `Project.toml` # As this is a newly created project,
    # the 'status' command shows that it contains no packages
  • Regresar al entorno por defecto:

    (SomeProject) pkg> activate
    Activating environment at `~/.julia/environments/v1.4/Project.toml`

    (v1.4) pkg>